雾节点的安全可信机制可以从硬件哪些方面构建
雾节点的安全可信机制可以从硬件以下方面构建:
安全或已验证的启动:雾节点应该支持硬件信任根功能来验证启动过程。安全或经过验证的引导是一个体系化的过程,包括加载和验证已签名的固件镜像,加载引导程序、内核和模块。需要注意的是,即使可信平台模块存在,在启动时也不一定需要使用它。验证启动有许多实现方法,例如,从不可变的只读存储器(Read Only Memory,ROM)加载的代码开始执行。由于签名一般难以规避,所以雾节点中的计算实体仅可操作有密码签名的固件映像。安全启动引导可能是专有的,所以需要由系统架构师验证启动引导程序的安全强度和功能。此外,硬件信任根不应当执行未验证的代码,包括来自PCI-e存储设备的可变ROM中的代码等。
可信或已度量可信度的启动:可信启动与安全启动的不同之处在于对软件的依赖。可信启动利用更高级别的软件证明(以编程方式验证)运行的固件是安全的。例如,可以使用可信平台模块执行固件代码,代码执行时将创建加密后的汇编代码模块,并存储在可信平台模块中。可信平台模块中的平台配置寄存器将作为该过程的存储器。平台配置寄存器可以被认为是用于某个特定目的的单一可信链。
确保安全的启动过程:雾节点的安全建立信任根需要通过启动过程的剩余部分来验证和扩展,以确保节点可以被信任。雾节点在执行某个组件之前必须确保该组件固件和系统软件没有被篡改。实现这一点的方法较多,例如,可信计算组织规范中定义的可信引导与安全引导、麻省理工学院提出的AEGIS等。具体解决方案的选择和实施应该与安全分析和威胁评估协同起来。
标识:雾节点必须能够向网络内的其他实体标识自己。从雾节点请求服务的实体也必须能够向雾节点标识自己。这种识别的最佳方法是使用一个具有证明能力的不变标识符。证明能力是系统向远程第三方验证者提供一些不可伪造证据的能力。采用直接匿名证明是较为常见的方法,它是使雾系统在保证隐私的同时证明给定系统可信的凭证。
远程可信认证:终端节点访问雾节点时需要执行一个可信认证过程,这个过程认证了终端用户眼中的雾计算系统的安全状态与可信程度。在雾计算层次结构中,可信认证过程通常采用远程认证或软件认证的方式实现,实现手段包括度量和验证。度量指采集所检测的软件或系统的状态,验证指将度量结果和参考值进行比对,看结果是否一致,如果一致则验证通过,如果不一致则验证失败。度量和验证的目的是证明运行在雾节点上的固件和软件已知或可信。如果在雾节点上运行的固件未通过认证,则不应使用该节点,并且需要进行系统修复。虽然有许多实现方法可用于远程证明,但为实现跨越多个接口的远程证明,需要使用可信计算组织和其他标准组织认可的证明方法。